1. Field of the Invention
The invention relates generally to time-keeping and more specifically to equipment and methods for generating highly-accurate clock times from a global positioning system navigation receiver.
2. Description of the Prior Art
The filming, video and audio industries typically operate many recording devices during a single performance to capture the scene and/or sound from many different viewpoints. High performance recordings do not usually record sound and pictures on the same device. Editing is therefore relied upon to combine the recorded sounds and pictures so that they are synchronized with one another in a single final product.
Most people are familiar with the clapper slate board a technician snaps in front of a movie camera when the director yells "action!". The purpose of this is not so well-known. There is a need to synchronize the sound with the picture. When a clapper slate is used, the audible clap is the sound sync point. Time code recording allows a different technique to be used. A time code clock keeps the time-of-day, for example, in hours, minutes, seconds and frames. A time code electronic slate has, in addition to clapsticks and the normal slate information, a time code reader, usually large red light emitting diode (LED) numerals. The time code display matches a time code used to record on the field sound recorder. By shooting a few frames of this slate on the film, a visual sync is established. When transferring the film in an editing session, e.g., with a telecine, all that is necessary is to stop on a frame that has the time code slate in view, enter the time code numbers into the machine synchronizer that controls the playback of the audio roll, and the synchronizer will automatically bring the audio into perfect sync. When the telecine is played the audio will stay in sync until the end of the take, when the camera and sound recorder were stopped.
Digital time codes are recorded on magnetic or optical media to uniquely identify the position of the media at any given point. It is used on optical media, e.g., film, and magnetic media, e.g., audio tape and video tape. Typical time codes contain a clock, control and synchronizing information and a user-definable code area. The clock information is conventionally organized such that increasing time denotes a point further into the reel of film or tape.
A time code is generally used for locating or referencing a specific point within a reel of film or tape. This is most useful in the editing process, and in fact is the basis for most modern videotape editing systems. Time codes may also be used for film editing, film on tape editing, and many other tasks. The availability of user-definable code area offers an almost unlimited range of data storage coincident with the time information. Information such as scene, take, camera roll number, time of day, etc. may be stored in these areas.
Conventional time codes may be divided into two types, magnetic and optical. The Society of Motion Picture and Television Engineers (SMPTE) developed a magnetic media type time code which was the first established version and remains the most widely used. It is recorded on longitudinal tracks on audio or video tape. It was originally specified for thirty frames/second operation, but will work at 29.97 frames/second as well.
The European Broadcasting Union (EBU) time code is standard in Europe and most of Asia, India, Africa and Central and South America. EBU time code is basically the same as SMPTE time code, but is specified for twenty-five frames/second operation. Film time code is also basically the same as SMPTE time code, but specified for twenty-four frames/second operation. DATAKODE, a trademark of Kodak Corporation, is a process using a finely dispersed transparent magnetic coating on a film stock that allows the recording of time code information on the film. It supports time and user bits like SMPTE time code, but in a different format. Vertical interval time code (VITC) is a magnetic media type time code that is designed to be recorded within the vertical interval period of video. It is treated as video by the recorder, but is a digital time code that offers time and user bits like SMPTE time code.
Bar time code is an optical media type of SMPTE time code. It has virtually the same structure as SMPTE time code but is recorded optically in a film camera. It is commercially-available in twenty-four, twenty-five, or thirty frames/second, as marketed by Coherent Communications for Arriflex cameras, in both sixteen millimeter and thirty-five millimeter formats.
Matrix time code is another optical media type time code that offers time and user bit information areas. An optical dot matrix field is used, rather than the linear bar time code, e.g., as used by Aaton in the sixteen millimeter format and Panaflex in the thirty-five millimeter format.
Time codes were once exclusively used by videotape editors. They are now being increasingly used for audio tape editing, film editing, video, audio and film production, audio tape and magnetic film mixing, videodisc mastering and more. In addition to the locating feature of the time bits, the information storage ability of the user bits is adding to the capability of time code systems. With transport synchronizers becoming smaller and cheaper, time code control and autolocation are becoming standard on professional audio and video recorders.
In framed media versus frameless film and tape media, visual information is recorded on a frame-by-frame basis. By playing discreet frames back at a high enough speed, the illusion of motion is created. Each frame of film or video can be identified by recording a number, e.g., a time code, next to the frame. Audio tape and magnetic film are essentially frameless media, e.g., the sound is recorded on a continuous basis with no frames. All any recorded time code information can do is indicate the running time of the audio. Since the time code number occupies about one-half of tape, at fifteen inches-per-second, a problem becomes apparent in reference to editing. One-half the resolution is much too poor for professional editing requirements. One frame of SMPTE time code is approximately thirty-three milliseconds long. Minimum editing standards require resolution to one millisecond, or better. To solve this problem, most time code equipment used with audio has provisions for subframe operation. This typically provides one hundred subframes per frame thereby offering resolution to 330 .mu.s, which is more than enough for professional editing and synchronizing requirements.
The SMPTE time code is a longitudinal time code, although it is not the only such time code. It is designed to run at thirty frames/second, which is the frame rate of video in the NTSC television broadcast system used in North America. (The actual frame rate is 29.97 frames/second, which resulted with the introduction of broadcast color signals compatible with black and white receivers.) The SMPTE time code is a special digital time code comprised of data bits which occupy the same amount of time as one frame of video, e.g., two fields. The time code is locked to the video signal by a time code generator. The SMPTE digital time code is readable either forwards or backwards, and inversion of the time code by accidental phase reversal in wiring does not affect its operation. The time code is also readable at speeds varying from less than one inch-per-second to over 250 inches-per-second, and is usable at recording levels of -15 dB to +10 dB.
SMPTE time code has eighty bits, or cells, in which information may be stored. Twenty-six are used to store time information, thirty-two are used for user bits, sixteen are used for synchronization of the time code, three are unassigned, and three bits are used for control information.
The time code is sychronized to the video signal by the time code generator. The published specification states that the beginning of the eighty-bit time code word must start at the beginning of line #5 of the video signal, during the vertical sync time. Such synchronization is also known as time code phase. If the time code started at line #20 instead of line #5 it would be out of phase. The digital time code used resembles a square wave and suffers a certain amount of degradation each time it is recorded and played back on magnetic media. This is normal, and a time code reader is capable of reading time code off tape with an expected average amount of distortion.
A common feature of time code generators is the slave or jam-sync process. This allows a time code generator to follow the time code off another source, e.g., a tape machine. This would allow for regeneration of time code. There are two basic modes of slaving or jam-syncing time code, hard slave or hard jam and soft slave or one-shot jam. Method one, the hard slave, forces the generator output to always follow the input. Method two, the soft slave, locks up to the input at first but runs free after that.
The main distinction is that hard slave will copy every frame of time code, even bad frames or missing bits. It is a direct copy, but is fresh time code with proper shape and amplitude. Soft slaving will copy the first few frames of time code exactly in order to match up the time code numbers, but will then run on as if it were an independent time code generator. The advantage of this is it will not copy bad frame numbers or missing bits. This technique is used often to repair time code that has been poorly recorded or damaged. Typically the soft slave process will copy the first four to sixteen frames of time code then switch over.
If the time code source in the soft slave process is discontinuous, jumps in the sequence of the time code will occur, such as 01:11:05:21 being followed by 01:15:46:29, e.g., when the production recording was stopped for a few minutes while the master generator ran on. The output of the generator will not follow such discontinuities, because the soft slave generator is essentially a free running generator at this point. If all jumps in time code numbers are needed for reference, then the hard slave process must be used or the soft slave must be re-slaved after each jump in the time code.